package tagdb.model;

public class SearchParameters {
    /**
     * The precursor mass tolerance.
     */
    private double precursorTol;

    /**
     * The fragment mass tolerance.
     */
    private double fragmentTol;

    /**
     * The number of hits/suggestions to be made by PepNovo.
     */
    private int numHits;

    /**
     * Flag for generating a query.
     */
    private boolean generateQuery;

    /**
     * The proteolytic enzyme which was used for the experiment.
     */
    private String enzyme;

    /**
     * The fragmentation model to be used for the search.
     */
    private String model;

    /**
     * The modifications as concatenated string.
     */
    private String mods;

    private boolean useSpectrumCharge;

    private boolean useSpectrumMz;

    private boolean filterLowQualilySpectra;

    /**
     * The search parameters default constructor.
     */
    public SearchParameters() {
    }

    /**
     * The precursor mass tolerance.
     *
     * @return the precursorTol
     */
    public double getPrecursorTol() {
        return precursorTol;
    }

    /**
     * The fragment ion tolerance.
     *
     * @return the fragmentTol
     */
    public double getFragmentTol() {
        return fragmentTol;
    }

    /**
     * The number of maximum suggestions to be made.
     *
     * @return the numHits The number of hits.
     */
    public int getNumHits() {
        return numHits;
    }

    /**
     * Flag conditition for generating a query.
     *
     * @return the generateQuery
     */
    public boolean generateQuery() {
        return generateQuery;
    }

    /**
     * Generate a query.
     *
     * @param generateQuery the generateQuery to set
     */
    public void setGenerateQuery(boolean generateQuery) {
        this.generateQuery = generateQuery;
    }

    /**
     * Returns the proteolytic enzyme.
     *
     * @return the enzyme
     */
    public String getEnzyme() {
        return enzyme;
    }

    /**
     * @param enzyme the enzyme to set
     */
    public void setEnzyme(String enzyme) {
        this.enzyme = enzyme;
    }

    /**
     * @return the model
     */
    public String getModel() {
        return model;
    }

    /**
     * @param model the model to set
     */
    public void setModel(String model) {
        this.model = model;
    }

    /**
     * @return the mods
     */
    public String getMods() {
        return mods;
    }

    /**
     * @param mods the mods to set
     */
    public void setMods(String mods) {
        this.mods = mods;
    }

    /**
     * @return the generateQuery
     */
    public boolean isGenerateQuery() {
        return generateQuery;
    }

    /**
     * @param precursorTol the precursorTol to set
     */
    public void setPrecursorTol(double precursorTol) {
        this.precursorTol = precursorTol;
    }

    /**
     * @param fragmentTol the fragmentTol to set
     */
    public void setFragmentTol(double fragmentTol) {
        this.fragmentTol = fragmentTol;
    }

    /**
     * @param numHits the numHits to set
     */
    public void setNumHits(int numHits) {
        this.numHits = numHits;
    }

    /**
     * @return the useSpectrumCharge
     */
    public boolean isUseSpectrumCharge() {
        return useSpectrumCharge;
    }

    /**
     * @param useSpectrumCharge the useSpectrumCharge to set
     */
    public void setUseSpectrumCharge(boolean useSpectrumCharge) {
        this.useSpectrumCharge = useSpectrumCharge;
    }

    /**
     * @return the useSpectrumMz
     */
    public boolean isUseSpectrumMz() {
        return useSpectrumMz;
    }

    /**
     * @param useSpectrumMz the useSpectrumMz to set
     */
    public void setUseSpectrumMz(boolean useSpectrumMz) {
        this.useSpectrumMz = useSpectrumMz;
    }

    /**
     * @return the filterLowQualilySpectra
     */
    public boolean isFilterLowQualilySpectra() {
        return filterLowQualilySpectra;
    }

    /**
     * @param filterLowQualilySpectra the filterLowQualilySpectra to set
     */
    public void setFilterLowQualilySpectra(boolean filterLowQualilySpectra) {
        this.filterLowQualilySpectra = filterLowQualilySpectra;
    }

}
